package com.xr.system.mapper;

import com.xr.system.common.base.MyBaseMapper;
import com.xr.system.entity.roleModule.Role;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 角色表(Role)表数据库访问层
 */
@Mapper
public interface RoleMapper extends MyBaseMapper<Role> {

	/**
	 * 移除当前角色已选权限
	 * @param id 角色id
	 * @return
	 */
	void removeRolePermissionForRole(Long id);

	/**
	 * 给指定角色分配权限
	 * @param dataList
	 * @return
	 */
	int assignmentPermissionForRole(List<Map<String, Object>> dataList);

	/**
	 * 获取当前角色已选的权限
	 * @param id
	 * @return
	 */
	List<Long> listCheckedPermissionForRole(Long id);

	/**
	 * 获取用户关联的角色
	 * @param id 用户id
	 * @return
	 */
	List<Long> getRoleByUserId(Long id);

	/**
	 * 通过角色code查询角色的所有权限
	 * @param code 角色code
	 * @return 权限code
	 */
	List<String> permissionCodeByRoleCode(String code);

}
